/**
 * Copyright (c) 2011 James Wendel
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package nlworks.wowapi.params;

import com.google.common.base.Preconditions;


public class ArenaTeamParams {

	private String realmName;
	private TeamSize teamSize;
	private String teamName;

	public enum TeamSize {
		ARENA_2v2("2v2"),
		ARENA_3v3("3v3"),
		ARENA_5v5("5v5");
		
		private String size;
		private TeamSize(String size) {
			this.size = size;
		}
		
		public String getTeamSize() {
			return size;
		}
	}
	
	public ArenaTeamParams(String realmName, TeamSize teamSize, String teamName) {
		this.realmName = Preconditions.checkNotNull(realmName);
		this.teamSize = Preconditions.checkNotNull(teamSize);
		this.teamName = Preconditions.checkNotNull(teamName);
	}
	
	public StringBuilder toString(StringBuilder sb, String baseQuery) {
		Preconditions.checkNotNull(sb).append("/api/wow/arena/").append(realmName).append('/').append(teamSize.getTeamSize()).append('/').append(teamName).append(baseQuery);
		return sb;
	}
}
